GetObject, functie

       

Geeft als resultaat een verwijzing naar een object dat wordt verschaft door een ActiveX-onderdeel.

Syntaxis

GetObject([pathname] [, class])

De functie GetObject bevat de volgende benoemde argumenten:

Onderdeel Beschrijving
pathname Optioneel; Variant (String). Het volledige pad en de naam van het bestand met het object dat u wilt ophalen. Als u pathname weglaat, is class vereist.
klasse Optioneel; Variant (String). Een tekenreeks die de klasse van het object aangeeft.

Het argument class gebruikt de syntaxis toepnaam.objecttype en bevat de volgende onderdelen:

Onderdeel Beschrijving
toepnaam Vereist; Variant (String). De naam van de toepassing die het object beschikbaar stelt.
objecttype Vereist; Variant (String). Het type of de klasse van het object dat u wilt maken.

Notities

Gebruik de functie GetObject om vanuit een bestand toegang te krijgen tot een ActiveX-object en dit object toe te wijzen aan een objectvariabele. Gebruik de instructie Set om het object dat als resultaat wordt gegeven door GetObject, toe te wijzen aan een objectvariabele. Bijvoorbeeld:

Dim CADObject As Object
Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")

Als deze programmacode wordt uitgevoerd, wordt de toepassing gestart die in pathname wordt opgegeven en wordt het object in het genoemde bestand geactiveerd.

Als u het argument pathname hebt ingesteld op een tekenreeks met een lengte nul (""), geeft GetObject als resultaat een nieuw object van het opgegeven type. Als u het argument pathname niet opgeeft, geeft GetObject het actieve object van het opgegeven type als resultaat. Als er geen object van dit type beschikbaar is, treedt een fout op.

In sommige toepassingen kunt u een gedeelte van een bestand activeren. Dit doet u door een uitroepteken (!) toe te voegen aan het einde van de bestandsnaam, gevolgd door een tekenreeks die het te activeren gedeelte van het bestand identificeert. Zie de documentatie bij de toepassing waarmee het object is gemaakt, voor meer informatie over het maken van deze tekenreeks.

In een tekentoepassing kunt u bijvoorbeeld meerdere lagen hebben voor een tekening die in een bestand is opgeslagen. U zou de volgende programmacode kunnen gebruiken om een laag in een tekening met de naam SCHEMA.CAD te activeren:

Set LaagObject = GetObject("C:\CAD\SCHEMA.CAD!Laag3")

Als u het argument class van het object niet opgeeft, bepaalt het automatiseringsproces op basis van de opgegeven bestandsnaam welke toepassing wordt gestart en welk object wordt geactiveerd. Een aantal bestanden kan echter meer dan ΘΘn objectklasse ondersteunen. Een tekenprogramma kan bijvoorbeeld drie verschillende objecttypen ondersteunen: een object Application, een object Drawing en een object Toolbar, die alle deel uitmaken van hetzelfde bestand. Als u wilt opgeven welk object uit het bestand u wilt activeren, gebruikt u het optionele argument class. Bijvoorbeeld:

Dim MyObject As Object
Set MyObject = GetObject("C:\TEK\VOORBLD.TEK", "PLAATJES.TEKENING")

In het bovenstaande voorbeeld is PLAATJES de naam van de toepassing en TEKENING een van de objecttypen die door de toepassing worden ondersteund.

Nadat een object is geactiveerd, verwijst u in de programmacode naar het object met de objectvariabele die u hebt gedefinieerd. In het bovenstaande voorbeeld hebt u met de objectvariabele MijnObject toegang tot eigenschappen en methoden van het nieuwe object. Bijvoorbeeld:

MyObject.Line 9, 90
MyObject.InsertText 9, 100, "Hallo allemaal."
MyObject.SaveAs "C:\TEK\VOORBLD.TEK"

Opmerking   Gebruik de functie GetObject als het object al bestaat of als u het object wilt maken in een reeds geopend bestand. Als u dit niet wilt of als het object niet bestaat, gebruikt u de functie CreateObject.

Als een object is geregistreerd als een eenmalig object, kan het object slecht ΘΘn keer voorkomen, ongeacht hoe vaak CreateObject wordt uitgevoerd. GetObject geeft in dit geval steeds hetzelfde object als resultaat als u deze functie oproept met een tekenreeks met een lengte nul (""). Er treedt een fout op als u het argument pathname weglaat. U kunt GetObject niet gebruiken voor een verwijzing naar een klasse die met Visual Basic is gemaakt.